package com.zhl.jdk8_time3;

import java.time.LocalDate;

public class Test1_LocalDate {
    public static void main(String[] args) {
        //获取本地日期对象
        LocalDate ld = LocalDate.now();    //年月日星期
        System.out.println(ld);
        //1.获取日期对应的信息
        int year = ld.getYear();        //年份
        int month = ld.getMonthValue();    //月份值，1代表1月
        int dayOfYear = ld.getDayOfYear();    //年份中的第几天
        int dayOfMonth = ld.getDayOfMonth();    //月份中的第几天
        int dayOfWeek = ld.getDayOfWeek().getValue();   //星期几，1代表星期日
        System.out.println("year: " + year);
        System.out.println("month: " + month);
        System.out.println("dayOfYear: " + dayOfYear);
        System.out.println("dayOfMonth: " + dayOfMonth);
        System.out.println("dayOfWeek: " + dayOfWeek);


        //2.直接修改某个信息    年月日周是一样的
        LocalDate d2= ld.withYear(2098);  //修改年份  会返回修改后的日期对象   原来的不变
        System.out.println(d2);             //2098
        System.out.println(ld);     //原来的日期对象不变

        //3.日期加减    plusDays()  表示加天  minusDays()  表示减    plusMonths()  表示加月  minusMonths()  表示减月
        //pulsYears()  表示加年  minusYears()  表示减年
        LocalDate d3 = ld.plusDays(10);   //日期加10
        System.out.println(d3);// 天
        LocalDate d4 = ld.minusMonths(2);   //日期减2个月
        System.out.println(d4);// 月


        //4.指定日期的LocalDate对象:public static LocalDate of(int year, int month, int dayOfMonth)
        LocalDate d5 = LocalDate.of(2021, 12, 25);
        System.out.println(d5);// 2021-12-25
        LocalDate d6 = LocalDate.of(2028, 12, 31);
        System.out.println(d6);// 2028-12-31

        //判断日期是否相等equals()   在前还是在后和  isAfter()  isBefore()
        System.out.println(d5.equals(d6)); //false
        System.out.println(d5.isAfter(d6)); //false
        System.out.println(d5.isBefore(d6)); //true



    }
}
